with v8.Class_Value, v8.Class_String;
package v8.Class_Exception is
   -- Create new error objects by calling the corresponding error object
   -- constructor with the message.


   function Range_Error (message : v8.Class_String.Pointer) return v8.Class_Value.Pointer;

   function Reference_Error (message : v8.Class_String.Pointer) return v8.Class_Value.Pointer;

   function Syntax_Error (message : v8.Class_String.Pointer) return v8.Class_Value.Pointer;

   function Type_Error (message : v8.Class_String.Pointer) return v8.Class_Value.Pointer;

   function Error (message : v8.Class_String.Pointer) return v8.Class_Value.Pointer;

private

   pragma Import (CPP, Range_Error, "_ZN2v89Exception10RangeErrorENS_6HandleINS_6StringEEE");
   pragma Import (CPP, Reference_Error, "_ZN2v89Exception14ReferenceErrorENS_6HandleINS_6StringEEE");
   pragma Import (CPP, Syntax_Error, "_ZN2v89Exception11SyntaxErrorENS_6HandleINS_6StringEEE");
   pragma Import (CPP, Type_Error, "_ZN2v89Exception9TypeErrorENS_6HandleINS_6StringEEE");
   pragma Import (CPP, Error, "_ZN2v89Exception5ErrorENS_6HandleINS_6StringEEE");
end v8.Class_Exception;
